Skip to main content

ImageMesh

A example of creating and using boundary mesh

Download original notebook

Smile!

img = (*VB[*)(FrontEndRef["3f9da47c-1b07-40b8-91e3-b5f1b8313276"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG6dZpiSamCfrGiYZmOuaGCRZ6FoaphrrJpmmGSZZGBsaG5mbAQCEaxVA"*)(*]VB*);

Apply a filter

MeanShiftFilter[img, 5, 1] // Binarize // ColorNegate
(*VB[*)(FrontEndRef["abea480b-c478-4f3f-ab82-c2e6af26c0e0"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJyalJppYGCTpJpuYW+iapBmn6SYmWRjpJhulmiWmGZklG6QaAACUuBZX"*)(*]VB*)

Create a mesh region

ξ = ImageMesh[(*VB[*)(FrontEndRef["f3ac6321-8ee3-4646-a58d-2a0c3cf2193c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKpxknJpsZGxnqWqSmGuuamJmY6SaaWqToGiUaJBsnpxkZWhonAwCEARWb"*)(*]VB*)]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$644329)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJxoZmxumpRnrGqaYp+iaGCRb6lokGpnrJicaG6QZJSeaJ5qlAQCFdBX5"*)(*]VB*)

Compute eigenfunctiions of the wave equation

{vals, funs} = NDEigensystem[
   {-Laplacian[u[x, y], {x, y}], 
    DirichletCondition[u[x, y] == 0, True]}, 
   u[x, y], Element[{x, y}, ξ], 6];

Plot different time slots

Grid@
 Partition[
  Table[ContourPlot[funs[[i]], Element[{x, y}, ξ], 
    PlotRange -> All, ImageSize->300,  PlotLabel -> vals[[i]]], {i, Length[vals]}], 2]
(*GB[*){{(*VB[*)(FrontEndRef["784af6a2-f032-4460-9b9b-494f02cb4c5b"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm1uYJKaZJRrpphkYG+mamJgZ6FomWSbpmliapBkYJSeZJJsmAQB8mBVx"*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["5243adc3-a051-4161-b10e-27ad620383a3"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqZGCemJBvrJhqYGuqaGJoZ6iYZGqTqGpknppgZGRhbGCcaAwB4zBTv"*)(*]VB*)}(*||*),(*||*){(*VB[*)(FrontEndRef["82967958-4efd-4fca-95fe-4e71721d1655"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKWxhZmplbmlromqSmpeiapCUn6lqapqUCueaG5kaGKYZmpqYAgIwVYw=="*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["98e7ad7c-6b56-40de-a4d4-bc96f11d4156"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW1qkmiemmCfrmiWZmumaGKSk6iaapJjoJiVbmqUZGqaYGJqaAQCNWhXc"*)(*]VB*)}(*||*),(*||*){(*VB[*)(FrontEndRef["f5feca55-1d3e-465f-a182-6b580c91f196"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKp5mmpSYnmprqGqYYp+qamJmm6SYaWhjpmiWZWhgkWxqmGVqaAQCPLBWt"*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["ca854dfe-a6a0-4658-a189-499483b2406c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJydamJqkpKXqJpolGuiamJla6CYaWljqmlhamlgYJxmZGJglAwCIdRVP"*)(*]VB*)}}(*]GB*)